131 research outputs found
GPU-friendly, Parallel, and (Almost-)In-Place Construction of Left-Balanced k-d Trees
We present an algorithm that allows for building left-balanced and complete
k-d trees over k-dimensional points in a trivially parallel and GPU friendly
way. Our algorithm requires exactly one int per data point as temporary
storage, and uses O(log N) iterations, each of which performs one parallel
sort, and one trivially parallel CUDA per-node update kernel
Geometric and arithmetic culling methods for entire ray packets
technical reportRecent interactive ray tracing performance has been mainly derived from the use of ray packets. Larger ray packets allow for significant amortization of both computations and memory accesses; however, the majority of primitives are still intersected by each ray in a packet. This paper discusses several methods to cull entire ray packets against common primitives (box, triangle, and sphere) that allows an arbitrary number of rays to be tested by a single test. This provides cheap ?all miss? or ?all hit? tests and may substantially improve the performance of an interactive ray tracer. The paper surveys current methods, provides details on three particular approaches using interval arithmetic, bounding planes, and corner rays, describes how the respective bounding primitives can be easily and efficiently constructed, and points out the relation among the different fundamental concepts
Realtime ray tracing and interactive global illumination
One of the most sought-for goals in computer graphics is to generate "realism in real time". i.e. the generation of realistically looking images at realtime frame rates. Today, virtually all approaches towards realtime rendering use graphics hardware, which is based almost exclusively on triangle rasterization. Unfortunately, though this technology has seen tremendous progress over the last few years, for many applications it is currently reaching its limits in both model complexity, supported features, and achievable realism. An alternative to triangle rasterizations is the ray tracing algorithm, which is well-known for its higher flexibility, its generally higher achievable realism, and its superior scalability in both model size and compute power. However, ray tracing is also computationally demanding and thus so far is used almost exclusively for high-quality offline rendering tasks. This dissertation focuses on the question why ray tracing is likely to soon play a larger role for interactive applications, and how this scenario can be reached. To this end, we discuss the RTRT/OpenRT realtime ray tracing system, a software based ray tracing system that achieves interactive to realtime frame rates on todays commodity CPUs. In particular, we discuss the overall system design, the efficient implementation of the core ray tracing algorithms, techniques for handling dynamic scenes, an efficient parallelization framework, and an OpenGL-like low-level API. Taken together, these techniques form a complete realtime rendering engine that supports massively complex scenes, highley realistic and physically correct shading, and even physically based lighting simulation at interactive rates. In the last part of this thesis we then discuss the implications and potential of realtime ray tracing on global illumination, and how the availability of this new technology can be leveraged to finally achieve interactive global illumination - the physically correct simulation of light transport at interactive rates.Eines der wichtigsten Ziele der Computer-Graphik ist die Generierung von
"Realismus in Echtzeit\u27; — die Erzeugung von realistisch wirkenden, computer-
generierten Bildern in Echtzeit. Heutige Echtzeit-Graphikanwendungen werden derzeit zum überwiegenden Teil mit schneller Graphik-Hardware realisiert, welche zum aktuellen Stand der Technik fast ausschliesslich auf dem
Dreiecksrasterisierungsalgorithmus basiert. Obwohl diese Rasterisierungstechnologie in den letzten Jahren zunehmend beeindruckende Fortschritte gemacht hat, stößt sie heutzutage zusehends an ihre Grenzen, speziell im Hinblick auf Modellkomplexität, unterstützte Beleuchtungseffekte, und erreichbaren Realismus. Eine Alternative zur Dreiecksrasterisierung ist das "Ray-Tracing\u27; (Stahl-Rückverfolgung), welches weithin bekannt ist für seine höhere Flexibilität, seinen im Großen und Ganzen höheren erreichbaren Realismus, und seine bessere Skalierbarkeit sowohl in Szenengröße als auch in Rechner-Kapazitäten. Allerdings ist Ray-Tracing ebenso bekannt für seinen hohen Rechenbedarf, und wird daher heutzutage fast ausschließlich für die hochqualitative, nichtinteraktive Bildsynthese benutzt. Diese Dissertation behandelt die Gründe warum Ray-Tracing in näherer Zukunft voraussichtlich eine größere Rolle für interaktive Graphikanwendungen spielen wird, und untersucht, wie dieses Szenario des Echtzeit Ray-Tracing erreicht werden kann. Hierfür stellen wir das RTRT/OpenRT Echtzeit Ray-Tracing System vor, ein software-basiertes Ray-Tracing System, welches es erlaubt, interaktive Performanz auf heutigen Standard-PC-Prozessoren zu erreichen. Speziell diskutieren wir das grundlegende System-Design, die effiziente Implementierung der Kern-Algorithmen, Techniken zur Unterstützung von dynamischen Szenen, ein effizientes Parallelisierungs-Framework, und eine OpenGL-ähnliche Anwendungsschnittstelle. In ihrer Gesamtheit formen diese Techniken ein komplettes Echtzeit-Rendering-System, welches es erlaubt, extrem komplexe Szenen, hochgradig realistische und physikalisch korrekte Effekte, und sogar physikalisch-basierte Beleuchtungssimulation interaktiv zu berechnen. Im letzten Teil der Dissertation behandeln wir dann die Implikationen und
das Potential, welches Echtzeit Ray-Tracing für die Globale
Beleuchtungssimulation bietet, und wie die Verfügbarkeit dieser neuen Technologie benutzt werden kann, um letztendlich auch Globale Belechtung — die physikalisch korrekte Simulation des Lichttransports — interaktiv zu berechnen
Beyond ExaBricks: GPU Volume Path Tracing of AMR Data
Adaptive Mesh Refinement (AMR) is becoming a prevalent data representation
for scientific visualization. Resulting from large fluid mechanics simulations,
the data is usually cell centric, imposing a number of challenges for high
quality reconstruction at sample positions. While recent work has concentrated
on real-time volume and isosurface rendering on GPUs, the rendering methods
used still focus on simple lighting models without scattering events and global
illumination. As in other areas of rendering, key to real-time performance are
acceleration data structures; in this work we analyze the major bottlenecks of
data structures that were originally optimized for camera/primary ray traversal
when used with the incoherent ray tracing workload of a volumetric path tracer,
and propose strategies to overcome the challenges coming with this
Ray Tracing Structured AMR Data Using ExaBricks
Structured Adaptive Mesh Refinement (Structured AMR) enables simulations to
adapt the domain resolution to save computation and storage, and has become one
of the dominant data representations used by scientific simulations; however,
efficiently rendering such data remains a challenge. We present an efficient
approach for volume- and iso-surface ray tracing of Structured AMR data on
GPU-equipped workstations, using a combination of two different data
structures. Together, these data structures allow a ray tracing based renderer
to quickly determine which segments along the ray need to be integrated and at
what frequency, while also providing quick access to all data values required
for a smooth sample reconstruction kernel. Our method makes use of the RTX ray
tracing hardware for surface rendering, ray marching, space skipping, and
adaptive sampling; and allows for interactive changes to the transfer function
and implicit iso-surfacing thresholds. We demonstrate that our method achieves
high performance with little memory overhead, enabling interactive high quality
rendering of complex AMR data sets on individual GPU workstations
- …